<html>
<body>

<p align="justify">
Provides classes which together implement a model of the Open Shortest Path
First version 2 protocol (limited static version).
</p>

<p align="justify">
The Open Shortest Path First (OSPF) protocol is an IP link-state routing
protocol, recommended for distributing routing information among the routers in
a single autonomous system (AS), with explicit support for classless
inter-domain routing (CIDR) address allocation.
</p>

<p align="justify">
<code>SSF.OS.OSPF</code> is a partial implementation of OSPFv2, based on the
Internet Engineering Task Force's Request for Comments number 2328 (RFC 2328),
"<a href="http://www.ietf.cnri.reston.va.us/rfc/rfc2328.txt">OSPF Version
2</a>".  It is designed to quickly compute the routing tables for arbitrary
topologies of OSPF areas in SSFNet network models, and to flood the area with
external route announcements from the ASBR routers running the BGP-4
inter-domain routing protocol.  The unsupported requirements primarily involve
dynamic neighbor discovery and link state updates in response to dynamic
topology changes.
</p>

<p align="justify">
This implementation is often referred to as sOSPF (static OSPF).  sOSPF is a
static version of OSPF which retrieves the adjacency information of all routers
in the same AS directly from the underlying network topology database.  It then
forms the link state databases by retrieving the link properties, and
subsequently invokes the shortest path algorithm to compute the routing tables.
In this release each router maintains its own link state database.  This
arrangement permits simulations to be run in parallel (with multiple
timelines).  However, since all link state databases within an area are
essentially identical, for the purpose of saving memory in a simulation it is
possible to maintain a single shared link database per area, provided the
updates from routers are carefully synchronized to avoid possible errors in a
multi-timeline simulation.  Such a solution can be provided in a future
release.
</p>

<p align="justify">
In sOSPF version 0.1.* only one area per AS is supported.  However, sOSPF can
accept dynamic AS external route information from inter-AS routing protocols,
such as BGP. The routing table computed by an sOSPF ProtocolSession contains
the entries for:
</p>

<ul>
<li>all stub networks in the area,
<li>all hosts attached directly to sOSPF routers,
<li>summary networks received from external ASs,
<li>all point-to-point links attached directly to this router
    (enough for flooding the external route announcements),
</ul>
  
<p align="justify">
but it does not contain addresses of point-to-point networks between sOSPF
routers inside the area that are not directly attached to this router.  That
does not affect routing of IP packets between hosts.
</p>

<p>
<b>Further Information</b> See distribution file
<code>ssfnet/src/SSF/OS/OSPF/doc/index.html</code>.
</p>

</body>
</html>
